Web History API

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট ওয়েব এপিআই (JS Web API) |
267
267

Web History API একটি JavaScript API যা ব্রাউজারের ইতিহাস (history) পরিচালনা করার জন্য ব্যবহৃত হয়। এর মাধ্যমে ডেভেলপাররা ব্রাউজারের হিষ্ট্রি স্ট্যাকের সাথে ইন্টারঅ্যাক্ট করতে পারে এবং ওয়েব পেজের URL পরিবর্তন করতে পারে, সেসময় পেজের রিফ্রেশ ছাড়াই নতুন কন্টেন্ট লোড করা সম্ভব হয়। এটি সাধারনত "Single Page Applications" (SPA) তৈরির জন্য ব্যবহৃত হয় যেখানে পুরো পেজ রিলোড ছাড়াই নতুন কন্টেন্ট দেখা যায়।

Web History API এর মাধ্যমে ব্রাউজারের URL পরিবর্তন করা, আগের বা পরের পেজে নেভিগেট করা এবং পেজের অবস্থান ট্র্যাক করা সম্ভব। এটি মূলত history অবজেক্ট এবং এর সাথে সংশ্লিষ্ট কিছু মেথডের মাধ্যমে কাজ করে।


Web History API এর মূল ফিচার

১. ব্রাউজারের ইতিহাসে পেজ যোগ করা (Adding Pages to Browser History)

pushState() মেথড ব্যবহার করে আপনি বর্তমান ব্রাউজারের URL এর সাথে একটি নতুন স্টেট (state) যোগ করতে পারেন। এটি ওয়েব পেজের কন্টেন্ট বদলানোর জন্য কোনো পেজ রিফ্রেশ ছাড়াই URL পরিবর্তন করতে সাহায্য করে।

উদাহরণ:

history.pushState({ page: "home" }, "Home Page", "/home");

এখানে, pushState() মেথড ব্যবহার করে ব্রাউজারের URL এ /home পাতা যোগ করা হয়েছে, কিন্তু পেজ রিফ্রেশ হয়নি।

  • প্রথম প্যারামিটার: স্টেট অবজেক্ট, যা আপনার অ্যাপ্লিকেশনের বর্তমান অবস্থা ধারণ করে।
  • দ্বিতীয় প্যারামিটার: পেজের শিরোনাম (title), যদিও এটি বেশিরভাগ ব্রাউজারে প্রভাব ফেলে না।
  • তৃতীয় প্যারামিটার: নতুন URL।

২. ব্রাউজারের ইতিহাস থেকে পেজ রিমুভ করা (Removing Pages from Browser History)

replaceState() মেথড ব্যবহার করে আপনি বর্তমান পেজের ইতিহাস পরিবর্তন করতে পারেন, যেটি URL পরিবর্তন করতে সহায়তা করে কিন্তু নতুন পেজ হিসেবেও ইতিহাসে যুক্ত হয় না। এটি pushState() এর মতোই কাজ, তবে এর ফলে আগের পেজের রেকর্ড ইতিহাস থেকে মুছে যায়।

উদাহরণ:

history.replaceState({ page: "about" }, "About Page", "/about");

এখানে, replaceState() মেথড ব্যবহার করে বর্তমান পেজের URL /about এ পরিবর্তিত হচ্ছে, কিন্তু ইতিহাসের আগের পেজের রেকর্ড মুছে যাচ্ছে।


৩. ব্রাউজারের ইতিহাসের মধ্যে নেভিগেশন (Navigating Through Browser History)

back(), forward(), এবং go() মেথড ব্যবহার করে আপনি ব্রাউজারের ইতিহাসে আগের বা পরের পেজে যেতে পারেন। এই মেথডগুলি সাধারণত ব্রাউজারের ব্যাক বাটন বা ফরওয়ার্ড বাটন ট্র্যাক করার জন্য ব্যবহৃত হয়।

উদাহরণ:

history.back(); // আগের পেজে চলে যাবে
history.forward(); // পরের পেজে চলে যাবে
history.go(-1); // আগের পেজে যাবে, একইভাবে 1- এর পরিবর্তে অন্য কোনো সংখ্যাও ব্যবহার করা যাবে

এখানে, go() মেথডের মাধ্যমে আপনি নির্দিষ্ট সংখ্যার মাধ্যমে ইতিহাসে নেভিগেট করতে পারেন। -1 মানে আগের পেজে ফিরে যাওয়া এবং 1 মানে পরবর্তী পেজে যাওয়া।


৪. ব্রাউজার ইতিহাসের স্টেট অ্যাক্সেস (Accessing Browser History State)

popstate ইভেন্ট ব্যবহার করে আপনি যখনই ব্রাউজারের ইতিহাসের মধ্যে পরিবর্তন করবেন তখন সেই পরিবর্তন ট্র্যাক করতে পারেন। এটি বিশেষভাবে কাজে আসে যখন আপনি pushState() বা replaceState() ব্যবহার করেন।

উদাহরণ:

window.addEventListener("popstate", function(event) {
    console.log("State changed:", event.state);
});

এখানে, popstate ইভেন্টের মাধ্যমে আপনি যখনই ব্রাউজারের ইতিহাসের মধ্যে পরিবর্তন করবেন, তখন সেই পরিবর্তনটি কনসোলে দেখতে পাবেন।


Web History API এর সুবিধা

  1. Single Page Application (SPA) এর জন্য আদর্শ: Web History API দিয়ে আপনি URL পরিবর্তন করতে পারেন এবং একই পেজে নতুন কন্টেন্ট লোড করতে পারেন, যা SPA-র জন্য প্রয়োজনীয়।
  2. পেজ রিফ্রেশ ছাড়াই URL পরিবর্তন: pushState() বা replaceState() ব্যবহার করে আপনি পেজ রিফ্রেশ না করেই URL পরিবর্তন করতে পারবেন, যা ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে।
  3. ইতিহাসের ট্র্যাকিং এবং নিয়ন্ত্রণ: back(), forward(), এবং go() মেথডের মাধ্যমে আপনি ব্রাউজারের ইতিহাস নিয়ন্ত্রণ করতে পারবেন, যেমন ব্যাক বাটন বা ফরওয়ার্ড বাটন ব্যবহারের সময়।

সারাংশ

Web History API ব্রাউজারের ইতিহাসের সাথে ইন্টারঅ্যাক্ট করার একটি শক্তিশালী টুল, যা ব্রাউজারের URL পরিবর্তন, ইতিহাস নিয়ন্ত্রণ এবং পেজের অবস্থান ট্র্যাক করতে সহায়তা করে। এটি বিশেষভাবে Single Page Application (SPA)-এ ব্যবহৃত হয়, যেখানে ওয়েব পেজের রিফ্রেশ ছাড়া নতুন কন্টেন্ট লোড করা সম্ভব হয়। pushState(), replaceState(), এবং popstate ইভেন্টের মতো ফিচারের মাধ্যমে আপনি ওয়েব অ্যাপ্লিকেশনের ইতিহাস ও নেভিগেশনকে আরও নমনীয় এবং ব্যবহারকারীর জন্য স্বাচ্ছন্দ্যময় করে তুলতে পারেন।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion
;